home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 - Homepage / CHIP.BIN / share / webmaste / csehtmlp / csehtmlp.exe / {app} / ParserRules / python.xs < prev    next >
Encoding:
Text File  |  2002-04-22  |  4.9 KB  |  139 lines

  1. //Language: Python
  2. //Copyright (c) 1992-2002 Altium Limited             
  3. //All rights reserved.                               
  4. //http://www.dream-com.com                           
  5. //contact@dream-com.com                              
  6.  
  7. // states
  8. State=snormal
  9. State=sstring1
  10. State=sstring2
  11. State=sstring3
  12. State=sstring4
  13. State=sstring5
  14. State=sstring6
  15. State=sstring7
  16. State=sstring8
  17. State=scomment1
  18. // tokens
  19. Token=tnone
  20. Token=tstring
  21. Token=tcomment
  22. Token=tident
  23. Token=tinteger
  24. Token=tfloat
  25. Token=tresword
  26. Token=tassembler
  27. Token=turl
  28. Token=twhitespace
  29. Token=tdirective
  30. //delims
  31. Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
  32.  
  33. // reswords
  34. snormal 'and'      snormal tresword
  35. snormal 'assert'   snormal tresword
  36. snormal 'break'    snormal tresword
  37. snormal 'class'    snormal tresword
  38. snormal 'continue' snormal tresword
  39. snormal 'def'      snormal tresword
  40. snormal 'del'      snormal tresword
  41. snormal 'elif'     snormal tresword
  42. snormal 'else'     snormal tresword
  43. snormal 'except'   snormal tresword
  44. snormal 'exec'     snormal tresword
  45. snormal 'finally'  snormal tresword
  46. snormal 'for'      snormal tresword
  47. snormal 'from'     snormal tresword
  48. snormal 'global'   snormal tresword
  49. snormal 'if'       snormal tresword
  50. snormal 'import'   snormal tresword
  51. snormal 'in'       snormal tresword
  52. snormal 'is'       snormal tresword
  53. snormal 'lambda'   snormal tresword
  54. snormal 'not'      snormal tresword
  55. snormal 'or'       snormal tresword
  56. snormal 'pass'     snormal tresword
  57. snormal 'print'    snormal tresword
  58. snormal 'raise'    snormal tresword
  59. snormal 'return'   snormal tresword
  60. snormal 'try'      snormal tresword
  61. snormal 'while'    snormal tresword
  62.  
  63. // numbers
  64. snormal [1-9][0-9]*                            snormal  tinteger
  65. snormal 0X[1-9][0-9A-F]+                       snormal  tinteger
  66. snormal 0x[1-9][0-9A-F]+                       snormal  tinteger
  67. snormal [1-9][0-9]*\.[0-9]*                    snormal  tfloat
  68. snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal  tfloat
  69.  
  70. //idents
  71.  
  72. snormal   [a-z_A-Z][a-z_A-Z0-9]*  snormal   tident
  73.  
  74. //white space
  75. //snormal #32*                      snormal   twhitespace
  76.  
  77. //comments
  78. snormal    \#                       scomment1 tcomment
  79. scomment1  [#1-#255]*               snormal   tcomment
  80. scomment1 $                         snormal   tcomment
  81.  
  82. //strings
  83. snormal    \'                     sstring1   tstring
  84. sstring1   [^\']*                 sstring1   tstring
  85. sstring1   \'                     snormal    tstring
  86. sstring1   \'\'                   sstring1   tstring
  87. sstring1   \\                     sstring1   tstring
  88. sstring1   \\\'                   sstring1   tstring
  89. sstring1   $                      snormal    tstring
  90.  
  91. snormal    \"                     sstring2   tstring
  92. sstring2   [^\"]*                 sstring2   tstring
  93. sstring2   \"                     snormal    tstring
  94. sstring2   \"\"                   sstring2   tstring
  95. sstring2   \\                     sstring2   tstring
  96. sstring2   \\\"                   sstring2   tstring
  97. sstring2   $                      snormal    tstring
  98.  
  99. snormal    {r\'}                  sstring3   tstring
  100. sstring3   [^\']*                 sstring3   tstring
  101. sstring3   \'                     snormal    tstring
  102. sstring3   \'\'                   sstring3   tstring
  103. sstring3   $                      snormal    tstring
  104.  
  105. snormal    {r\"}                  sstring4   tstring
  106. sstring4   [^\"]*                 sstring4   tstring
  107. sstring4   \"                     snormal    tstring
  108. sstring4   \"\"                   sstring4   tstring
  109. sstring4   $                      snormal    tstring
  110.  
  111. snormal    {\'\'\'}                 sstring5   tstring
  112. sstring5   [^\']*                   sstring5   tstring
  113. sstring5   \'                       sstring5   tstring
  114. sstring5   {\'\'}                   sstring5   tstring
  115. sstring5   \\                       sstring5   tstring
  116. sstring5   \\{\'\'\'}               sstring5   tstring
  117. sstring5   {\'\'\'}                 snormal    tstring
  118.  
  119. snormal    {\"\"\"}               sstring6   tstring
  120. sstring6   [^\"]*                 sstring6   tstring
  121. sstring6   \"                     sstring6   tstring
  122. sstring6   {\"\"}                 sstring6   tstring
  123. sstring6   \\                     sstring6   tstring
  124. sstring6   \\{\"\"\"}             sstring6   tstring
  125. sstring6   {\"\"\"}               snormal    tstring
  126.  
  127. snormal    {r\'\'\'}              sstring7   tstring
  128. sstring7   [^\']*                 sstring7   tstring
  129. sstring7   \'                     sstring7   tstring
  130. sstring7   {\'\'}                 sstring7   tstring
  131. sstring7   {\'\'\'}               snormal    tstring
  132.  
  133. snormal    {r\"\"\"}              sstring8   tstring
  134. sstring8   [^\"]*                 sstring8   tstring
  135. sstring8   \"                     sstring8   tstring
  136. sstring8   {\"\"}                 sstring8   tstring
  137. sstring8   {\"\"\"}               snormal    tstring
  138.  
  139.